package daos;

import java.util.List;

import busquedas.CriterioDeBusqueda;
import aterrizar.Usuario;
import model.Asiento;
import model.Tramo;
import model.Vuelo;
import servicios.*;

public class ManagerVuelo  {

	
	
	public void reservarAsiento(Long codAsiento, Usuario usuario){
		ReservarAsiento reservaAux = new ReservarAsiento(codAsiento, usuario);
		SessionManager.runInSession(reservaAux);
		
	}
	
	public boolean checkearDisponibilidad(Long codAsiento){
		CheckearDisponibilidad checkAux = new CheckearDisponibilidad(codAsiento);
		return !SessionManager.runInSession(checkAux).getEstaReservado();
	}

	public void reservarGrupoAsientos(List<Long> codAsientos, Usuario usuario){
	  ReservarGrupoAsientos reservarAsientos = new ReservarGrupoAsientos(codAsientos, usuario);
	  SessionManager.runInSession(reservarAsientos);
	}
	
	public Vuelo agregarVuelo(Vuelo v){
		return SessionManager.runInSession(new CrearVuelo(v));
	}
	
	public Vuelo getVuelo(Long id){
		return SessionManager.runInSession(new GetVuelo(id));
	}
	
	public Tramo getTramo(Long id){
			return (Tramo) SessionManager.runInSession(new GetTramo(id));
	}
	
	public Asiento getAsiento(Long id){
		return (Asiento) SessionManager.runInSession(new GetAsiento(id));
	}
	
	public List<Vuelo> realizarBusqueda(CriterioDeBusqueda criterio){
		return (List<Vuelo>) SessionManager.runInSession(new RealizarBusqueda(criterio));
	}
}
